using Lzfy_His_Service.Models;

namespace Lzfy_His_Service.Services
{
    public interface IRefundTaskDetailService
    {
        Task<RefundTaskDetailResponse?> GetByIdAsync(long id);
        Task<IEnumerable<RefundTaskDetailResponse>> GetAllAsync();
        Task<IEnumerable<RefundTaskDetailResponse>> GetByMasterIdAsync(long masterId);
        Task<(IEnumerable<RefundTaskDetailResponse> data, int totalCount)> GetWithFilterAsync(RefundTaskDetailQueryRequest request);
        Task<IEnumerable<RefundTaskDetailResponse>> GetByPatientIdAsync(string patientId);
        Task<long> CreateAsync(RefundTaskDetailCreateRequest request);
        Task<bool> UpdateAsync(long id, RefundTaskDetailUpdateRequest request);
        Task<bool> DeleteAsync(long id);
        Task<bool> DeleteByMasterIdAsync(long masterId);
        Task<bool> UpdateContactTimeAsync(ContactUpdateRequest request);
        Task<bool> BatchCreateAsync(BatchCreateTaskDetailRequest request);
    }
}